diff --git a/system/libraries/Session/drivers/Session_cookie.php b/system/libraries/Session/drivers/Session_cookie.php
index e39ada0..19ccd41 100755
--- a/system/libraries/Session/drivers/Session_cookie.php
+++ b/system/libraries/Session/drivers/Session_cookie.php
@@ -190,13 +190,13 @@
 		'cookie_domain', 'cookie_secure', 'cookie_httponly', 'sess_time_to_update', 'time_reference', 'cookie_prefix',
 		'encryption_key') as $key)
 		{
-			$this->$key = isset($this->parent->params[$key]) ? $this->parent->params[$key] :
+			$this->$key = isset($this->_parent->params[$key]) ? $this->_parent->params[$key] :
 				$this->CI->config->item($key);
 		}
 
 		if ($this->encryption_key === '')
 		{
-			show_error('In order to use the Session Cookie driver you are required to set an encryption key '.
+			show_error('In order to use the Cookie Session driver you are required to set an encryption key '.
 				'in your config file.');
 		}
 
@@ -309,7 +309,7 @@
 		}
 
 		// Kill the cookie
-		setcookie($this->sess_cookie_name, addslashes(serialize(array())), ($this->now - 31500000),
+		$this->_setcookie($this->sess_cookie_name, addslashes(serialize(array())), ($this->now - 31500000),
 			$this->cookie_path, $this->cookie_domain, 0);
 
 		// Kill session data
@@ -632,11 +632,33 @@
 		$expire = ($this->sess_expire_on_close === TRUE) ? 0 : $this->sess_expiration + time();
 
 		// Set the cookie
-		setcookie($this->sess_cookie_name, $cookie_data, $expire, $this->cookie_path, $this->cookie_domain,
+		$this->_setcookie($this->sess_cookie_name, $cookie_data, $expire, $this->cookie_path, $this->cookie_domain,
 			$this->cookie_secure, $this->cookie_httponly);
 	}
 
 	/**
+	 * Set a cookie with the system
+	 *
+	 * This abstraction of the setcookie call allows overriding for unit testing
+	 *
+	 * @access  protected
+	 * @param   string  Cookie name
+	 * @param   string  Cookie value
+	 * @param   int	 Expiration time
+	 * @param   string  Cookie path
+	 * @param   string  Cookie domain
+	 * @param   bool	Secure connection flag
+	 * @param   bool	HTTP protocol only flag
+	 * @return  void
+	 */
+	protected function _setcookie($name, $value = '', $expire = 0, $path = '', $domain = '', $secure = false,
+	$httponly = false)
+	{
+		// Set the cookie
+		setcookie($name, $value, $expire, $path, $domain, $secure, $httponly);
+	}
+
+	/**
 	 * Serialize an array
 	 *
 	 * This function first converts any slashes found in the array to a temporary
diff --git a/system/libraries/Session/drivers/Session_native.php b/system/libraries/Session/drivers/Session_native.php
index 8388e06..27db942 100755
--- a/system/libraries/Session/drivers/Session_native.php
+++ b/system/libraries/Session/drivers/Session_native.php
@@ -39,7 +39,7 @@
 		foreach (array('sess_cookie_name', 'sess_expire_on_close', 'sess_expiration', 'sess_match_ip',
 		'sess_match_useragent', 'cookie_prefix', 'cookie_path', 'cookie_domain') as $key)
 		{
-			$config[$key] = isset($this->parent->params[$key]) ? $this->parent->params[$key] : $CI->config->item($key);
+			$config[$key] = isset($this->_parent->params[$key]) ? $this->_parent->params[$key] : $CI->config->item($key);
 		}
 
 		// Set session name, if specified
